home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / music / qseq_11c.zip / QSQ.TXT < prev    next >
Text File  |  1995-02-10  |  86KB  |  1,970 lines

  1.            ╔═════════════════════════════════════════╗
  2.            ║        Q S E Q : QUICK SEQUENCER        ║
  3.            ║                                         ║
  4.            ║ Copyright 1993-1995 by David HAUBENSACK ║
  5.            ║          All Rights Reserved            ║
  6.            ║                                         ║
  7.            ║     version 1.1c, 09 february 1995      ║
  8.            ╚═════════════════════════════════════════╝
  9.  
  10.  
  11. ┌─────────────────────────────────────────────────────────────┐
  12. │00 - Author, Copyright, Money, and all this kind of things...│
  13. └─────────────────────────────────────────────────────────────┘
  14.  
  15. Read this, it contains lotsa info !!!
  16.  
  17.  
  18.   Hi there,
  19.  
  20. First-of-all, let me tell you that,... I'm French.  So don't be scared off
  21. by some of the language booboos you will probably notice in this doc-file.
  22. So forget about Shakespeare and Hemmingway, just learn French and call me.
  23.  
  24. This piece of software was (and probably still is) developped by:
  25.  
  26.     David HAUBENSACK
  27.     97, L'Oree du Golf
  28.     04860 PIERREVERT
  29.     FRANCE
  30.     home phone: (+33)-92729177
  31.     work phone: (+33)-42254292
  32.     work fax  : (+33)-42252780
  33.     email     : hbsk@rhum.cad.cea.fr (not hbsk@hostsit or hbsk@h2o anymore !!!)
  34.  
  35. You must not: sell, copy, nor give away the fully functional version of this
  36. program, except to your baby sister, provided she is less than three years old
  37. but I doubt if she will thank you for it,... especially if you just have one
  38. brother and a cat. You may not use it for private, nor commercial purposes,
  39. unless you have purchased and received an explicite licence from me.
  40.  
  41. The price for a licence of the "FULL-FEATURED" version 1.1 is 350.00 Francs or
  42. $70.00 US, including shipping. That's cheap, believe me. Yes, believe me ! If
  43. you can't pay in french francs nor in dollars, use today's currency rates and
  44. convert 350.00FF to your currency. Don't cheat on the conversion, OK ?
  45. Anyway, I will check it out in the financial section of my newspaper. All that
  46. cash-money will then be integrally wasted into the purchase of a musical
  47. instrument of some kind. I promise !
  48.  
  49. If you want to buy "QSEQ" send me a postcard with your exact name and address,
  50. and a check or a money order made out to my name. If you can't find a pretty
  51. postcard, don't worry, the check will do nicely. Remember to tell me what
  52. kind of floppy-disk you need (either: 3.5 or 5.25"). Registered users will be
  53. able to buy future releases for a special friendly price. Did I say:
  54. "friendly"? I'm feeling so generous today! I must have caught a cold or
  55. something. Future release means changes in the major or minor version number...
  56. You'll be able to get correction versions for free, if you're on Internet or if
  57. you send me a floppy with your address on it. Correction version numbers are
  58. followed by a lower-case letter (e.g. qseq v1.1c). To get an upgrade, don't
  59. forget to tell me your name, address and your previous licence number.
  60.  
  61. For the "DEMO" version, you can run it for your private use, then give away
  62. copies of it to whoever you want. Just don't sell it, unless you are a crook.
  63. Beware, that demo version is not the full version... You cannot save music files
  64. with it!  Tough luck, unless you own "2" PCs, and "2" MIDI-cards like a good
  65. friend of mine (he says he's not a crook, should I believe him?...). Anyway,
  66. even this DEMO version can be used as a very good midifile player and a sysex
  67. dumper (cos' you can save sysex files with it), that's why I don't consider it
  68. as a real crippleware.
  69.  
  70. For those who hate those kind of crippled demo, let me tell you my story:
  71. "Once upon a time, I upload freeware of mine on the Internet. Then I get back
  72. a lot of calls from a lot of people that were just curious about the software
  73. or who didn't understand what it was about (cos they didn't even read the doc).
  74. Some of them were very rude because they seem to think that I have to help
  75. them with the software, as if I was a commercial hotline! I get buzzed about
  76. this. Now I'm asking for a little money ($70.00 US is really small in comparison
  77. with comparable commercial products), and I can tell you that it is a very good
  78. filter: now I mostly get in touch with motivated people who dare to read the
  79. documentation and invest time in seriously testing the product. I'm ready to
  80. help those kind of people. End of the story. Conclusion of the fairy tale: they
  81. were happy and conceived a lot of baby-midi-softwares together..."
  82.  
  83. The date of birth of this version is written at the beginning of this document.
  84. But if today is 23/12/2021, there is probably a new release coming soon. Just
  85. ask me. Next major version will probably wait for a year to come, depending also
  86. on the success of this one... God, let me become a millionnaire with this
  87. marvellous program. Amen. (addition: after one year one the market, I'm still
  88. not a millionnaire but I'm satisfied...)
  89.  
  90. You can probably find the latest demo version of qseq-*.zip on Internet via
  91. anonymous ftp in one of the following SIMTEL servers/directory:
  92.  
  93.     Rochester, Michigan:  OAK.Oakland.Edu (141.210.10.117)
  94.       /pub/msdos/sound
  95.     St. Louis, MO:  wuarchive.wustl.edu (128.252.135.4)
  96.       /systems/ibmpc/msdos
  97.     Corvallis, OR:  archive.orst.edu (128.193.2.13)
  98.       /pub/mirrors/simtel/msdos
  99.     Australia:  archie.au (139.130.4.6)
  100.       /micros/pc/oak
  101.     England:  src.doc.ic.ac.uk (146.169.2.10)
  102.       /pub/packages/simtel
  103.     Finland:  ftp.funet.fi (128.214.248.6)
  104.       /pub/msdos/SimTel
  105.     Germany:  ftp.uni-paderborn.de (131.234.2.32)
  106.       /SimTel/msdos
  107.     Hong Kong:  ftp.cs.cuhk.hk (137.189.4.57)
  108.       /pub/simtel/msdos
  109.     Israel:  ftp.technion.ac.il (132.68.1.10)
  110.       /pub/unsupported/dos/simtel
  111.     Poland:  ftp.cyf-kr.edu.pl (149.156.1.8)
  112.       /pub/mirror/msdos
  113.     Sweden:  ftp.sunet.se (130.238.127.3)
  114.       /pub/pc/mirror/SimTel/msdos
  115.     Switzerland:  ftp.switch.ch (130.59.1.40)
  116.       /mirror/msdos
  117.     Taiwan:  NCTUCCCA.edu.tw (140.111.1.10)
  118.       /PC/simtel
  119.     Thailand:  ftp.nectec.or.th (192.150.251.32)
  120.       /pub/mirrors/msdos
  121.  
  122. or
  123.     Netherlands?:  ftp.cs.ruu.nl (131.211.81.17)
  124.       /pub/MIDI/PROGRAMS/MSDOS
  125.  
  126. If you don't have access to ftp, qseq-*.zip file can automatically be
  127. emailed to you uuencoded and split in 40Kb pieces. Just send a message to
  128. hbsk@rhum.cad.cea.fr with one of the following lines in the body of the
  129. message:
  130.  
  131. sendqseqreturn
  132. -> send you QSEQ by return of the mail.
  133.  
  134. sendqseqto <your-full-internet-email-address>
  135. -> send you QSEQ to the given address.
  136.  
  137. sendhelpreturn
  138. -> send you an help file (with the last version number) by return of the mail.
  139.  
  140. sendhelpto <put-your-internet-email-address-here>
  141. -> send you an help file (with the last version number) to the given address.
  142.  
  143. For exemple, to get QSEQ, Mr Clinton would write:
  144. sendqseqto president@whitehouse.gov
  145.  
  146. (!!! don't put any space character before the first keyword, Mr President !!!)
  147.  
  148. The rest of the message is ignored (the subject line is not used...).
  149.  
  150. Notice that the main chance to retrieve the very last version is to use this
  151. mailserver.
  152.  
  153. Let me tell you one good thing. SoundBlaster is a trademark from Creative Labs.
  154. But their MIDI port is so simple that it is quite hard to program it
  155. efficiently.
  156.  
  157. And MSDOS and Windows are trademarks from Microsoft Corp. But I do not use
  158. Windows for my personnal work.
  159.  
  160.  
  161. ┌──────────────┐
  162. │01 - Contents:│
  163. └──────────────┘
  164.  
  165.   00 - Author, Copyright, Money... (are you sure you red this one?)
  166.   01 - Contents (you're in, dude!).
  167.   02 - Quick description to make you dream.
  168.   03 - Future releases.
  169.   04 - Bugs, oh no there is no bugs... (see chapter 40)
  170.  
  171.   10 - What installation ? (READ THIS ONE, PLEASE, BEFORE CALLING ME !!!)
  172.   11 - Philosophy.
  173.   12 - Keys conventions.
  174.   13 - The status line.
  175.  
  176.   20 - GLOBAL view.
  177.   21 - VARIABLE view.
  178.   22 - NOTE view.
  179.   23 - EVENT view.
  180.   24 - FILE view.
  181.   25 - SYSEX view.
  182.   26 - INFO view.
  183.   27 - LOOK view.
  184.  
  185.   30 - How to record and play.
  186.   31 - Special keys.
  187.   32 - Command-line options.
  188.   33 - Configuration tool and file.
  189.  
  190.   40 - Releases, sub-versions, and atomic changes...
  191.   41 - Conclusion.
  192.   42 - "Cul Sec".
  193.  
  194.   50 - That's all folks !
  195.  
  196.  
  197. ┌──────────────────────────────────────────┐
  198. │02 - Quick description, to make you dream:│
  199. └──────────────────────────────────────────┘
  200.  
  201. This sequencer is a text-mode one, written in C and assembly and its
  202. size gives you an average 400Ko free memory for your music, if you are
  203. running MSDOS 6.0. The upper memory is not used if you have more than 640Ko.
  204. Its main purpose is to be very easy and quick to use, with most of the
  205. features that any good sequencer offers. Here are these features:
  206.  
  207. - PC compatible, with MSDOS 3.0 or greater.
  208. - Support the SoundBlaster MIDI interface.
  209. - 80 x 50 color text display, using direct video memory writing for speed.
  210. - Highly secured and reliable MIDI playing kernel, totally independant from
  211.   the user-interface activity (I worked for this!).
  212. - Time resolution is 1/192th of a beat.
  213. - Two recording modes: overwrite preexisting material or append.
  214. - Punch in/out while recording.
  215. - 40 tracks, with many real-time parameters for each track, including
  216.   selective MIDI events filters, fine delay, key and velocity transpose, etc...
  217. - Recordable tempo change on any track.
  218. - Each track contains up to 16000 MIDI events.
  219. - Each track can be looped a given number of times.
  220. - Each track is individually mutable or archivable, or can be set to solo mode.
  221. - Powerful graphic manipulation of tracks and beats (copy, cut, paste,
  222.   paste-over, join, transpose, etc...), thru a buffer.
  223. - Powerful graphic edition of any MIDI event in a track (notes, control
  224.   changes, aftertouch, bender, program changes, tempi, etc...).
  225. - Tool to smooth continuous MIDI events variations and to filter out
  226.   useless events by linear interpolation.
  227. - Tool to create MIDI events by linear/curved/random progression.
  228. - Tool to split a track according to notes heigth.
  229. - Tool to split one multiple-channels track in several single-channel tracks.
  230. - Tool to humanize a track.
  231. - Tool to quantize a track, with a strength percentage.
  232. - Tool to change note velocities according to a linear and/or random function.
  233. - Tool to change MIDI event values according to a linear and/or random function.
  234. - Sysex files capabilities.
  235. - Info screen to memorize useful information about a sequence, with templates.
  236. - Real time visualisation in hours/minutes/secondes/hundredth of seconds.
  237. - Load, merge and save MIDI files or QSEQ format files.
  238. - Easy manipulation of files and directories.
  239. - Metronome click on the PC speaker or thru MIDI notes.
  240. - Possible use of real-time messages START/CONTINUE/STOP.
  241. - Tool to compute current MIDI controllers and tempo when you start playing
  242.   at the middle of the song (powerful, hu ?).
  243. - Statistic screen to count and sort MIDI events for each track.
  244. - configuration tool and file for custom colors and settings.
  245. - And many many others features that I hope you'll like...
  246.  
  247.  
  248. ┌─────────────────────┐
  249. │03 - Future releases:│
  250. └─────────────────────┘
  251.  
  252. In the future, I plan to integrate new features:
  253.  
  254. - Support of the MPU interface, as soon as I have the money to buy one.
  255. - Support of the synchronization for tape recording, as soon as I have the money
  256.   to buy a MPU interface supporting sync.
  257. - Support of multiple MIDI ports, as soon as I have the money to buy a MPU
  258.   interface supporting sync and having two MIDI ports to use 32 MIDI channels.
  259. - New tools to manipulate blocks. No money nor hypergalactic MPU card necessary
  260.   for this one...
  261. - Library of sysex requests, in order to receive sysex dumps without
  262.   manipulating synths' panels. Have to think about a clever way to implement
  263.   this one.
  264. - A C library to manipulate QSQ format files to allow creation of batch tools
  265.   that would increase too much QSEQ size if they were included in it.
  266. - Increase the number of tracks. It is easy but I don't need it and it
  267.   can slow down the MIDI output if you have a real slow machine (like mine).
  268.   Gimme a 486/DX2-66 as a gift and I will do this one!
  269. - Customizable keys for those who are tasteless because my choices are obviously
  270.   the bests!
  271. - Any other feature that I need for myself, because I am the first and main
  272.   user of this piece of software. The only difference between you and I is
  273.   that I get it for free money but not free work!
  274.  
  275. If you have any ideas, don't hesitate to send them to me on a letter or an
  276. email. But remember that I want to keep the program quite small and rapid to
  277. use. So I probably won't use any graphic interface with mouse and all this
  278. stuff if it is what you're thinking about.
  279.  
  280.  
  281. ┌─────────────────────────────────────┐
  282. │04 - Bugs, oh no there are no bugs...│
  283. └─────────────────────────────────────┘
  284.  
  285. I tested this software on a PC-AT-286/12 MHz with a SoundBlaster Pro card.
  286. It also perfectly works with my MIDI gear (Roland U20 synth, Quadraverb+ unit,
  287. Casio RZ-1 drum machine, Proteus/1 expander). I also tested it on a PC-486/33
  288. of a friend of mine, with YAMAHA synths and a Roland SCC1 card (used as a synth,
  289. not as a MPU interface). I noticed no problem, or if I noticed some, I corrected
  290. them. I also tested it on a PC-386 without MIDI interface. It also works.
  291.  
  292. But as I am not perfect nor divine for the moment, you could find a bug. I'm
  293. sure I forgot some weird case. Don't hesitate to send me a letter or email to
  294. the address above if you find one. Please describe it as precisely as possible,
  295. cos I already noticed it is sometimes hard for me to put the finger on them...
  296.  
  297. You can notice that, according to chapter 40, there are already a certain
  298. number of subversions, due to a certain number of bug corrections but also
  299. pure improvements. Thanks to whoever helped me discovering these bugs. They
  300. know who they are.
  301.  
  302.  
  303. ┌────────────────────────┐
  304. │10 - What installation ?│
  305. └────────────────────────┘
  306.  
  307. Files provided in the package are:
  308.  
  309.   - README.TXT : a file to read.
  310.  
  311.   - QSQ.TXT : this document, i.e. the user's manual.
  312.  
  313.   - QSQ.EXE : the QSEQ program itself.
  314.  
  315.   - QSQCONF.EXE : the QSEQ configuration program.
  316.  
  317.   - QSQ.PIF : the PIF program to execute QSEQ from MS/Windows.
  318.   - QSQ.ICO : an icon you can use under MS/Windows.
  319.  
  320.   - QSQ.CFG : the original complete QSEQ configuration file.
  321.   - VAR.CFG : configuration file restricted to variables.
  322.   - BW_SCR.CFG : configuration file for black & white screen.
  323.   - COL_SCR.CFG : configuration file for color screen.
  324.  
  325.   - FRENCH.TPL and  ENGLISH.TPL : examples of template for the INFO view.
  326.  
  327.   - JAZZ.QSQ, WHATISAY.QSQ and WHATISAY.MID : sample music file under QSEQ
  328.     format and standard MIDIFILE format. I'm not the creator of these examples
  329.     I found on the net. I just modify them to make them obvious. Thanks to Ray
  330.     Charles. I am giving this MIDIFILE, not selling it, so please Ray, if you
  331.     read this (ooops excuse me!), don't ask me for any money... ;-)
  332.  
  333.   - DEMO.BAT : a DOS script to run QSEQ demo (edit it, run it and press space).
  334.  
  335. This program needs at least a PC AT/286 with a VGA card and a version of
  336. MSDOS greater than v3.0. It's better if you have a color screen because colors
  337. are not customizable for the moment and I don't know what is the result on
  338. a monochrome display... Maybe YOU can tell, hu hu hu...
  339.  
  340. It also needs a SoundBlaster card as a MIDI interface.
  341.  
  342. QSEQ can read the BLASTER environment variable if it is correctly set in the
  343. AUTOEXEC.BAT file (see SoundBlaster's documentation for further informations).
  344.  
  345.   ex: set BLASTER=A220 I7 D1 T4
  346.  
  347. If you don't have a SB card, you can test the program interface anyway. When
  348. you record, a MIDI IN input is even simulated. Everything except the MIDI IN
  349. and MIDI OUT routines are working normally.
  350.  
  351. The only useful file is "qsq.exe". Just type "qsq" to enter the program.
  352. You can also type the name of a file on the command line if you want it to be
  353. loaded at the beginning.
  354.  
  355. You should store qsq.exe somewhere in your DOS search path if you want to be
  356. able to run it from any directory.
  357.  
  358. You can also set two others environment variables:
  359. - MUSICDIR that contains the path to your most used music files directory.
  360. - SYSEXDIR that contains the path to your most used sysex directory.
  361.  
  362. they will be used as default search pathes.
  363.  
  364. ex: set MUSICDIR=c:\qsq\music
  365.     set SYSEXDIR=c:\qsq\sysex
  366.  
  367. Don't forget to switch LOCAL CONTROL off on your synth, because QSEQ takes care
  368. about redirecting what is entering its MIDI IN to MIDI OUT, after a little
  369. treatment. If you can't do this, you can reconfig QSEQ with the MIDITHRU token
  370. value to 0 (QSEQ won't provide any midi thru). If your synth understand LOCAL
  371. CONTROL, you can send this message automatically at the beginning of the
  372. session (reconfig QSEQ with LOCALCTRL token to 1).
  373.  
  374. If you synth uses to send Active Sensing messages every 300ms, you'd better
  375. disable this option if it is possible cos' it can slow down QSEQ, even if QSEQ
  376. ignore them (and don't echo them to MIDI OUT).
  377.  
  378. I don't guaranty that this program works with TSR programs. The results may be
  379. weird because I change the frequency of the timer (without loosing system timing
  380. information of course, I worked for this...).
  381.  
  382. I am not responsible of any damages QSEQ could create on your PC. But it is
  383. just a formula because nothing happened to mine.
  384.  
  385.  
  386. ┌────────────────┐
  387. │11 - Philosophy:│
  388. └────────────────┘
  389.  
  390. The Wise Man said:
  391.  
  392. QSEQ is separated in several views. The main view is the GLOBAL view. Each
  393. view will be described in the following chapters.
  394.  
  395. At the bottom of the screen, there are 3 lines that are reserved for
  396. menus and interactive questions. The first line is the main menu,
  397. telling you in what view you're in. The current view first letter is
  398. hilighted in a different color that the others. To change from one view
  399. to another, just type the letter of the new view. Notice that every
  400. view main short-key is a capital letter.
  401.  
  402. The second line is a submenu that depends on the view you're in. It
  403. works in the same way: just type the hilighted letter of the item you
  404. want to activate.
  405.  
  406. The third line is either for a subsubmenu or an interactive question
  407. or a sequencer message (report or error).
  408.  
  409.  
  410. ┌──────────────────────┐
  411. │12 - Keys conventions:│
  412. └──────────────────────┘
  413.  
  414. In this document, we will use the following notation:
  415.  
  416. - ^A for Ctrl-A.
  417. - aA for Alt-A.
  418. - sA for Shift-A.
  419.  
  420. That's all for this chapter. Short isn't it ?
  421.  
  422.  
  423. ┌─────────────────────┐
  424. │13 - The status line:│
  425. └─────────────────────┘
  426.  
  427. At the top of the screen, there is the status line, that contains from the left
  428. to the right:
  429.  
  430. - the name of the current edited file.
  431. - the counter (see "Specials keys - aU" for the different availiable units.
  432. - the tempo in number of beats per minute.
  433. - the signature in number of beats per measure (in the whole sequencer, I
  434.   assume that one beat equals one quarter-note).
  435. - the sequencer mode flag:
  436.   (E): edit mode.
  437.   (P): playing mode.
  438.   (R): recording mode.
  439.   (S): step recording mode.
  440. - the recording mode flag:
  441.   (O): overwrite.
  442.   (A): append.
  443. - the punch-in mode flag:
  444.   (P): on.
  445.   (p): off.
  446. - the metronome flag:
  447.   (M): MIDI metronome on.
  448.   (m): PC SPEAKER metronome on.
  449.   (.): metronome off.
  450. - the midithru flag:
  451.   (T): midithru on.
  452.   (t): midithru off.
  453. - the memory left. In recording modes, it gives the number of free events
  454.   available in the track, assuming one MIDI event uses 4 bytes and each beat
  455.   uses also 4 bytes, and assuming one track contains a maximum of 16380
  456.   events. In every other mode, it gives the total number of thousands of free
  457.   events available.
  458.  
  459.  
  460. ┌─────────────────┐
  461. │20 - GLOBAL view:│
  462. └─────────────────┘
  463.  
  464. Type 'G' to go to this view. Notice that from any other view, you just have to
  465. type ESC to return to the GLOBAL view...
  466.  
  467. The zoom:
  468. ─────────
  469.  
  470. The GLOBAL view represents the global content of the 40 tracks of the sequencer,
  471. with or without a zooming feature. So the horizontal direction represents time.
  472.  
  473. The zoom status is shown at the upper right corner: 'Z' for zoom, 'z' for
  474. unzoom. Use key 'z' to toggle between both modes.
  475.  
  476. In the zoomed mode, each dot represents a beat (one quarter note or 192 ticks).
  477.  
  478. In the unzoomed mode, each dot can represent either:
  479.  
  480. - a measure, if the zoom is based on the signature: each measure contains a
  481.   number of beats equal to the signature shown in the status line. Remember
  482.   that the signature is use for the metronome accent, and for saving in
  483.   MIDIFILES. It is a musical variable. The signature is set with the aS key.
  484. - a group of a user-definable number of beats, independant from the signature.
  485.   We will call this number the zooming number. This number is usefull when you
  486.   want to have an invariant signature but when you still want to vary the
  487.   display (e.g. if you have a 4/4 signature, choosing a zooming number of 24
  488.   will give you a larger - but less precise - view on your sequence if you are
  489.   in unzoomed mode). So remember that this zoom number is only a display
  490.   variable, with no repercussion on the music. The zoom number is set with the
  491.   aZ key.
  492.  
  493. You can toggle between these two display modes with the ^Z key.
  494.  
  495. In the zoomed mode, the upper horizontal scale counts beats. Notice that steps
  496. on the scale depends on weither you use the zooming number or the signature
  497. as the number of beats per group.
  498.  
  499. In the unzoomed mode, the upper horizontal scale counts measures or zooming
  500. number based groups: it depends on weither you use the zooming number or the
  501. signature as the number of beats per group.
  502.  
  503. Left part of the screen:
  504. ────────────────────────
  505.  
  506. On the left part of the screen, you can read:
  507.  
  508. - the track name (17 characters max).
  509. - the channel number. If it is used, each event in the track is forced to
  510.   this channel, otherwise each event keeps the channel it had when it was
  511.   recorded or inserted.
  512. - the optional initial program number which is send when the sequence is
  513.   played back from beat 0.
  514. - the status mode:
  515.   '-' for an empty track.
  516.   '' for a normal non-empty track.
  517.   'L' for a looped track.
  518.   The followings are overwritting the previous ones when used:
  519.   'M' for a muted track.
  520.   'A' for an archived track.
  521.   'S' for a track in solo mode (only one soloed track at the same time).
  522.   Difference between a muted and an archived track: a muted track can be
  523.   de-muted while playing, not an archived track. An archived track is
  524.   totally ignored while playing, so the performance is better on slow
  525.   machines, especially when the archived track contains a lot of events
  526.   such as benders, etc...
  527.  
  528. Right part of the screen:
  529. ─────────────────────────
  530.  
  531. The right part of the screen represent the content of each track. A '.'
  532. means that the beat/measure/group of beats is non-defined. A '-' means that
  533. the beat/measure/group of beats is defined but empty. See "secondary menus,
  534. v(f)il" to understand the meaning of every other symbols.
  535.  
  536. The end of a track is shown by a '|'. If it is a '<', it means that you are
  537. in unzoomed mode and that the last measure/group of beats does not contain
  538. a number of beats equal to the signature/zooming number.
  539.  
  540. If the track is looped, every repetition points of the loop are shown by a 'L',
  541. and the last 'L' shows the real end of the track when it is played. If you
  542. press the aL key, you can also see looping points: a 'L' appears on the beat
  543. where the track is looped, and also at the end of the track. If you want to
  544. hide this looping information, use aL key again.
  545.  
  546. A 'M' at the beginning of a track means that the track is muted.
  547. A 'A' at the beginning of a track means that the track is archived.
  548.  
  549. Secondary menus:
  550. ────────────────
  551.  
  552. You can use the following secondary menus:
  553.  
  554. - (m)ute: mutes the current track, or unmutes it.
  555. - (s)olo: sets the current track in solo mode: every other track is
  556.   muted since you select this menu again.
  557. - (a)rch: archives the current track, or unarchives it.
  558. - (l)oop: sets the current track to loop mode. See the VARIABLE screen
  559.   to set the looping beat and the number of loops. Use the same menu to defeat
  560.   loop mode.
  561.  
  562. - (i)nsN: inserts n beats or n measures at the cursor position, with or
  563.   without cuting notes that stands on a limit. The INS key is a shortcut
  564.   to do (i)ns1 without cuting.
  565. - (d)elN: deletes n beats or n measures at the cursor position, cuting
  566.   notes that stand on a limit. The DEL key is a shorcut to do (d)el1.
  567.  
  568. - (b)lock: a block is a group of consecutive beats of the same track.
  569.   There's one buffer that you can be used to store one block and to
  570.   copy it in another position. The following subsubmenus appear when you
  571.   select this submenu:
  572.  
  573.   * (c)opy: copies the marked block in the buffer. You can also use aF4 key.
  574.   * (p)aste: pastes the content of the buffer at the cursor position,
  575.     insering the correspondant number of beats. You can repeat this operation
  576.     a given number of time. You can also use aF5 key.
  577.   * (k)ut: copies the marked block in the buffer and deleted the block from
  578.     the original track. You can also use aF3 key.
  579.   * (o)ver: pastes the content of the buffer over the cursor position,
  580.     erasing any material under the buffer area. You can repeat this operation
  581.     a given number of time. You can also use aF6 key.
  582.   * (j)oin: pastes the content of the buffer over the cursor position, merging
  583.     the new material with the old one. For notes, old notes are not erased
  584.     by newer ones, for safety reasons. You can repeat this operation a given
  585.     number of time.
  586.   * (d)el: deletes the marked block from the track. Same as (k)ut but leave the
  587.     buffer intact.
  588.   * (w)ipe: simply erases the content of the marked block.
  589.  
  590.   * (b)egin: sets block begining, and also by the way the block's track.
  591.     You can also use aF1 key.
  592.   * (e)nd: sets block end, and also by the way the block's track.
  593.     You can also use aF2 key.
  594.   * (z)ero: unmarks the current marked block.
  595.   * (g)lide: moves the block begining to the current cursor position, keeping
  596.     the same block size.
  597.   * (s)ize: asks for a new block size, keeping the same block beginning.
  598.  
  599.   * (m)anip: special manipulations on the marked block.
  600.  
  601.     - (.)..: use this special point submenu to toggle to next (m)anip submenu.
  602.  
  603.     - (c)ontinbeat: makes notes continuity for notes contained in the marked
  604.       block. At the beat limit notes that ends at the tick 191 and start back
  605.       at tick 0 of the next beat are tied together. This feature is useful when
  606.       you use block cut/paste/insert/etc.. that often cuts notes at a beat
  607.       limit.
  608.  
  609.     - (s)etchannel: changes the MIDI channel of every MIDI events contained in
  610.       the marked block.
  611.  
  612.     - (t)ranspose: transposes every notes contained in the marked block of a
  613.       positive of negative number of semi-tones. Notes transposed out of the
  614.       usual 0-127 range are erased.
  615.  
  616.     - chg(v)elocity: changes the velocity of every notes contained in the
  617.       marked block, according to a linear and/or random function:
  618.       newvelo=A+(B/100*oldvelo)+-[0..RND].
  619.       The random factor can be used to "humanize" a group of notes of the same
  620.       velocity. If the result is out of the usual 0-127 range, velocity is
  621.       either set to 0 or 127.
  622.  
  623.     - chg(e)vtVal: changes the value of every event of a specified type
  624.       contained in the marked block, according to a linear and/or random
  625.       function: newvalue=A+(B/100*oldvalue)+-[0..RND].
  626.       The random factor can be used to "humanize" an event evolution (such as
  627.       volume). If the result is out of the usual range, it is rounded to the
  628.       nearest boundary.
  629.  
  630.     - (q)uantize: rounds off the starting point of notes to a resolution you
  631.       choose. You can also give a roundoff rate (or strength percentage),
  632.       between 0 and 100. If this rate is equal to 100, notes are kept unchanged;
  633.       if this rate is zero, notes are precisely rounded off. Imagine what gives
  634.       a medium rate...
  635.  
  636.     - (h)umanize: adds or substracts to the starting point of every notes a
  637.       random value between 0 and the given number of ticks. When notes are
  638.       entered with the keyboard, it is useful to add a little chaos... It
  639.       "humanized" the way notes are played or it avoids mechanical way of
  640.       playing.
  641.  
  642.     - split(n)ote: creates two tracks from one track. The first new track
  643.       contains every notes between both given limits. The second new track
  644.       contains every other notes (strictly outside limits). Others events can
  645.       be duplicated in none, first, second or both tracks. The original track
  646.       is not modified. New tracks herit of the name of the original track with
  647.       either "(1)" or ")2(" at the end of the name. They also herit of the
  648.       original track's parameters (see "VARIABLE view").
  649.  
  650.     - split(c)hannel: creates several tracks from one track. Each new track
  651.       contains every notes of the original track related to a same MIDI channel.
  652.       Then a maximum of 16 tracks can be created. The original track is not
  653.       modified. This feature is useful when you load a format 0 standard MIDI
  654.       file, that contains all channels merged together in one track.  New tracks
  655.       herit of the name of the original track with a "Cnn" at the end of the
  656.       name, where nn is the number of the isolated MIDI channel. They also herit
  657.       of the original track's parameters, except the MIDI channel parameter
  658.       that is kept empty.
  659.  
  660. - (t)rack: in this menu, a track is considered as the content of the track and
  661.   also every parameters or variables related to the track. The buffer used in
  662.   this operation is the same as the buffer used in beats operations, so be
  663.   careful not to loose beats or tracks ! The following subsubmenus appear when
  664.   you select this submenu:
  665.  
  666.   * (i)ns: inserts one track at the current position. Every tracks behind this
  667.     position are translated one step down. Not possible if track 39 is not
  668.     empty.
  669.   * (d)el: deletes current track. Every tracks behind this position are
  670.     translated one step up. Be careful, no way to get it back !
  671.  
  672.   * (c)opy: copies the whole current track in the buffer.
  673.   * (k)ut: copies the whole current track in the buffer and perform a
  674.     "track del" operation.
  675.   * (p)aste: pastes the content of the buffer in the current track, if it is
  676.     empty, and if the buffer contains the result of a "track kut" or "track
  677.     copy" operation. Variables of the current track are modified.
  678.   * (j)oin: joins the content of the buffer with the current track. Variables
  679.     of the current track are not modified.
  680.   * (e)rase: erases the content of the current track. Variables of the current
  681.     track are not modified. If you insert something in the track, they will
  682.     all appear again.
  683.   * (m)ark: marks the whole current track.
  684.  
  685. - p(u)nch: this feature allows you to record with automatic punch-in and
  686.   punch-out points. When you are in punch mode and when you hit record, you
  687.   stay in playback mode since you reach the punch-in point, where you are
  688.   automatically transfered in record mode. Then when you reach the punch-out
  689.   point, you are coming back automatically to playback mode. This allows you
  690.   to re-record a precise number of beats within an existing, without loosing
  691.   peripherical material.
  692.  
  693.   * (u)on/off: switch punch mode on or off. You can also use aP key.
  694.   * (i)n: set punch-in point to the current beat.
  695.   * (o)ut: set punch-out point to the current beat.
  696.  
  697. - (j)oker: you can use special items to mark a beat, that I call "jokers". They
  698.   are numbered from 'A' to 'Z' and appear on the horizontal scale. They are not
  699.   associated with text for the moment, but you can use them to clarify the
  700.   structure of your sequence and to mark turning points (intro, chorus, ending,
  701.   etc...):
  702.  
  703.   * (i)ns: inserts a joker at the current beat. You can also use ^INS key.
  704.   * (d)el: deletes any joker at the current position. You can also use ^DEL key.
  705.   * (n)ext: goto next joker. You can also use ^F5 key.
  706.   * (p)revious: goto previous joker. You can also use ^F6 key.
  707.   * (r)ightTrans: translates one step right every jokers at the right of the
  708.     current point. You can also use ^F7 key.
  709.   * (l)eftTrans: translates one step leftt every jokers at the right of the
  710.     current point. You can also use ^F8 key.
  711.   * (c)learAll: clear all jokers.
  712.  
  713.   You can also use aJ to make jokers visibles or invisibles and ^J to go to a
  714.   specified joker.
  715.  
  716. - (g)oto:
  717.  
  718.   * block (b)egin: go to the begining of the marked block.
  719.   * block (e)nd: go to the end of the marked block.
  720.   * punch (i)n: go to the punch in point.
  721.   * punch (o)ut: go to the punch out point.
  722.   * (j)oker: go to specified joker.
  723.   * (l)oopingbeat: go to the looping beat of the current track if there's one.
  724.  
  725. - v(f)il: allows you to set an event-type based filter in the global view.
  726.   You can choose what type of event will be shown by a character different from
  727.   '-'. For example, if you choose 'note', the global view will only show you
  728.   beats or measures containing notes by putting a 'n' on them. Any other
  729.   beat or measure does not contain any notes (but maybe other events such as
  730.   controllers or tempi).
  731.  
  732.   * (n)ote: tags beats or measures containing notes with a 'n'.
  733.   * poly(A)ote: tags beats or measures containing polyphonic aftertouch with
  734.     a 'A'.
  735.   * (c)trl: tags beats or measures containing controllers with a 'c'.
  736.   * (p)rog: tags beats or measures containing program changes with a 'p'.
  737.   * (a)ft: tags beats or measures containing channel aftertouch with a 'a'.
  738.   * (b)end: tags beats or measures containing benders with a 'b'.
  739.   * (t)empo: tags beats or measures containing tempo events with a 't'.
  740.   * no(f)ilter: tags beats or measures containing any event with a '■'.
  741.  
  742. - *: the current cursor position become the center of the screen.
  743.  
  744.  
  745. ┌───────────────────┐
  746. │21 - VARIABLE view:│
  747. └───────────────────┘
  748.  
  749. Type 'V' to go to this view or F9.
  750.  
  751. This view gathers informations about each track. You can edit this information
  752. depending on the sequencer running mode or the emptiness of the track.
  753.  
  754. You can move in this view using the four arrows, PGUP and PGDOWN, HOME and
  755. END (test their meaning by yourself), but also by using the secondary menu
  756. that brings you directly in the column you choose. Use ENTER to edit any field.
  757. For numeric variables, you can just type in a new figure. You can also use
  758. F5, F6, F7 and F8 to increase or decrease the hilighted value of one or
  759. several units.
  760.  
  761. Secondary submenus are, from left to right:
  762.  
  763. - (n)ame: name of the track using 17 characters maxi.
  764.  
  765. - (c)h: MIDI channel of the track. If none, each MIDI event contained in the
  766.   track uses its own channel value when sent to MIDI out. You cannot change
  767.   this value while the sequencer is running...
  768.  
  769. - (p)rg: original program change. Not available if there is no MIDI channel
  770.   specified above. When playing the sequence from beat 0, the original program
  771.   change is sent at the beginning. Changing this value while the sequencer is
  772.   playing sends the corresponding program change to MIDI out in real-time. If
  773.   recording, this program change is recorded if concerning the record track.
  774.  
  775. - v(o)l: original volume controller. Not available if there is no MIDI channel
  776.   specified above. When playing the sequence from beat 0, the original volume
  777.   controller is sent at the beginning. Volume controller is number 7 in the
  778.   MIDI norm. Changing this value while the sequencer is playing sends the
  779.   corresponding volume change to MIDI out in real-time. If recording, this
  780.   volume change is recorded if concerning the record track.
  781.  
  782. - (b)al: original balance controller. Not available if there is no MIDI channel
  783.   specified above. When playing the sequence from beat 0, the original balance
  784.   controller is sent at the beginning. Balance controller is number 10 in the
  785.   MIDI norm. Changing this value while the sequencer is playing sends the
  786.   corresponding balance change to MIDI out in real-time. If recording, this
  787.   balance change is recorded if concerning the record track.
  788.  
  789. - (k)+: on-the-fly transpose value. Any note of the current track is transposed
  790.   using this positive or negative number of semi-tones. This is not affecting
  791.   the note stored in the memory. You can change this value while the sequencer
  792.   is running ! This transposition affects any note coming from MIDI in, even if
  793.   the sequencer is running. If you want a hard transposition that affects notes
  794.   in the memory, use the "GLOBAL block manip transpose" feature.
  795.  
  796. - (v)+: on-the-fly velocity change value. This positive or negative amount of
  797.   velocity is added to the velocity of any note of the current track. This is
  798.   not affecting the note stored in the memory. You can change this value while
  799.   the sequencer is running ! This transposition affects any note coming from
  800.   MIDI in, even if the sequencer is running. If you want to change multiple
  801.   notes velocities in the memory, use the "GLOBAL block manip chgvelocity"
  802.   feature.
  803.  
  804. - (d)ly: on-the-fly time translation. The whole track is translated in
  805.   real-time using this neagtive or positive amount of ticks (=1/192 beat). It
  806.   is not affected the track as it is stored in the memory. A positive value is
  807.   making the track late in comparison with a normal one. This feature is useful
  808.   when you want one track to have the priority (for example the drum kit
  809.   track): if several notes occure at the same time, you can be sure that the
  810.   note of a minus-one-transalted track will occure before the others... You can
  811.   also use this feature to create a MIDI echo effects if you copy one track
  812.   in an empty one and translate one from the other.
  813.  
  814. - (g)oto:
  815. - (x)loop:
  816.   Both variables are used to set a looping feature: at the end of a track, you
  817.   can automatically loop to a previous beat. This beat is set with the (g)oto
  818.   submenu or directly in the GLOBAL view with the ^L key (see "Special keys").
  819.   You can repeat this feature a given number of time. This number is set with
  820.   the (x)loop variable (column called "x"). This number is in the range 0..99.
  821.   A number 100 set an infinite ("hi") number of loop. This feature is working
  822.   in any case, even when you start the playback after the end of a looped track.
  823.   A looped track end is shown by a 'L' in the GLOBAL view. When you toggle
  824.   the looping mode in the GLOBAL view, you don't loose the loop number value,
  825.   which is just temporarly set to zero.
  826.  
  827. - (f)ilter: this feature allows you to filter events by type for each track.
  828.   It does not affect the track as it is stored in the memory. It is only a
  829.   real-time feature used during playback. You can filter out:
  830.  
  831.   * (n)ote: any notes.
  832.   * poly(A)ft: polyphonic aftertouch events.
  833.   * (c)trlchg: any control changes.
  834.   * (p)rgchg: program changes.
  835.   * mono(a)ft: channel aftertouch events.
  836.   * (b)ender: bender events.
  837.   * (t)empo: tempo changes.
  838.  
  839. - (i)nfo: this field cannot be edited. It just contains different informations.
  840.   You can switch from an information to the next one using this submenu.
  841.   Available informations are:
  842.  
  843.   * size of the track in number of QSQ events, assuming that a MIDI event is
  844.     a QSQ event, but also a beat limit and a tempo change. Each QSQ event uses
  845.     4 bytes in the memory.
  846.  
  847.   * number of beats in the current track.
  848.  
  849.   * other informations, for my private use. Try to guess...
  850.  
  851.  
  852. ┌───────────────┐
  853. │22 - NOTE view:│
  854. └───────────────┘
  855.  
  856. Type 'N' or F10 to go to this view.
  857.  
  858. This view is used to edit notes in the current track. The horizontal direction
  859. still represents time, but more precisely than in the GLOBAL view. Infact,
  860. this view displays a number of beats equal to signature/zooming number (you
  861. can still use ^Z key to toggle between both values). The vertical direction
  862. represents notes in semi-tones (from 0 to 127, assuming that 60 stands for
  863. middle C).
  864.  
  865. One note is represented by a segment '▄▄▄▄'. Its length represents the duration
  866. of the note. If the note is continued after the left or right edge of the
  867. screen, the cuting point is shown by a ''. If the ending point of one note is
  868. graphically mixed to the starting point of another note, the first note ends
  869. with a '▄▄▄┐'.
  870.  
  871. The following keys are used:
  872.  
  873. - LEFT/RIGHT: moves one step left/right.
  874. - INS: inserts one note at the cursor position.
  875. - DEL: deletes the current hilighted note.
  876. - TAB: goto next note.
  877. - BACKTAB: goto previous note.
  878. - ^LEFT/^RIGHT: moves one beat left/right.
  879. - HOME: goto the left edge of screen.
  880. - END: goto the right edge of screen.
  881. - ^HOME: goto the beginning of the track.
  882. - ^END: goto the end of the track.
  883.  
  884. - UP/DOWN: moves one semi-tone up/down.
  885. - PGUP/PGDOWN: moves one octave up/down.
  886.  
  887. - ^UP/^DOWN: moves one track up/down (according to the track order used in the
  888.   GLOBAL view).
  889. - ^PGUP/^PGDOWN: moves five tracks up/down.
  890.  
  891. - *: adjust the cursor and the page vertically in order to be in a zone
  892.   containing notes. When the sequencer is running, the page is automatically
  893.   centered according to positions of notes in the whole page. If you want to
  894.   disable this behaviour, just use UP/DOWN and PGUP/PGDOWN to center the
  895.   page wherever you want in the scale. Then type '*' again to restore the
  896.   original automatical behaviour.
  897.  
  898. - aF1: sets block begin here.
  899. - aF2: sets block end here.
  900.  
  901. Notice that in NOTE screen, marked block limits are give in beats/ticks. These
  902. limits are used as default starting and ending points in functions such as
  903. (p)rog or e(x)tract. In the GLOBAL view, marked block contains only full beats
  904. (it means you cannot copy half of a beat...).
  905.  
  906. In this screen, you can also move vertically the cursor using an external
  907. MIDI keyboard. The cursor just follows notes you hit on the keyboard !!!
  908.  
  909. For this screen, you have a secondary status line. Some submenus are used to
  910. shift from a currently edited field (highlighted in blue) to another one. F5,
  911. F6,F7 and F8 keys can be used to change the currently edited field. You can
  912. also just type in a new value. From left to right, fields of the secondary
  913. status line are:
  914.  
  915. - the track number and the track name.
  916.  
  917. - UNIT/INC: UNIT gives the type of unit used for in following timing fields:
  918.  
  919.   * tick: each of the following timing values is given in beats and ticks
  920.     (remember that one beat equals 192 ticks). INC represents the number of
  921.     ticks contained in one horizontal cursor jump (using left or right arrows).
  922.  
  923.   * div: each of the following timing values is given in beats and number of
  924.     division of one beat. INC represents a given number that divides one beat
  925.     in equal segments, and is also used as the basic horizontal cursor jump.
  926.     If the INC value can be followed by a 'b' for binary or a 't' for ternary.
  927.  
  928.   Examples:
  929.  
  930.   * UNIT=tick, INC=048. It means that a cursor jump contained 48 ticks, i.e.
  931.     the quarter of a beat. The START field and the LENGTH field are given in
  932.     beats and ticks.
  933.  
  934.   * UNIT=div, INC=04b. It means that a cursor jump contained 1/4 of one beat,
  935.     i.e. 48 ticks as in the previous example. The START field and the LENGTH
  936.     field are given in beats and 1/4th of beats. It can be easier to read that
  937.     in the previous example, even if the result is the same.
  938.  
  939.   * UNIT=div, INC=04t. It means that a cursor jump contained (1/4)*2/3 of one
  940.     beat, i.e. 1/6. It is useful if you want to play with triplets...
  941.  
  942.   Use the (u)nit submenu to toggle between 'div' and 'tick' and the (i)nc
  943.   submenu to change the INC value.
  944.  
  945. - ECHO: if it is on, when the cursor is touching a note, this note is issued
  946.   to MIDI out, with the correct length and velocity (using 'key+' and 'vel+'
  947.   offset values of the VARIABLE screen if they are non-zero). Toggle echo
  948.   on or off with the (e)cho submenu.
  949.  
  950. - MODE: When the cursor is on an existing note, this note is hilighted and
  951.   the MODE field contains 'cur': it means that START, LENGTH, KEY, VEL, OVL
  952.   and CH fields contains values describing the current hilighted note. Any
  953.   change of these fields is affecting the hilighted note. You cannot insert
  954.   a note on an existing one with the INS key, but you can delete a highlighted
  955.   note with the DEL key...
  956.  
  957.   If the cursor is on no existing note, the MODE field contains 'ins': it
  958.   means that you can insert a note using default values that stand in START,
  959.   LENGTH, KEY, VEL, OVL and CH fields. These default values can also be
  960.   changed and are not affected by the cur/ins MODE switching. In this MODE,
  961.   you can insert one note with the INS key.
  962.  
  963.   In the 'cur' MODE, you can memorized values of the current note in default
  964.   values of the 'ins' MODE by using the (m)emo submenu.
  965.  
  966. - START: starting point of the current edited note or of the note to be
  967.   inserted. Use the (s)tart submenu to make this field the edited field.
  968.  
  969. - LENGTH: length of the current edited note or of the note to be inserted.
  970.   Use the (l)gth submenu to make this field the edited field.
  971.  
  972. - KEY: heigth of the current edited note or of the note to be inserted,
  973.   in semi-tones. Use the (k)ey submenu to make this field the edited field.
  974.  
  975. - VEL: velocity of the current edited note or of the note to be inserted.
  976.   Use the (v)el submenu to make this field the edited field.
  977.  
  978. - OVL: off-velocity of the current edited note or of the note to be inserted.
  979.   Use the (o)vel submenu to make this field the edited field.
  980.  
  981. - CH: MIDI channel of the current edited note or of the note to be inserted.
  982.   remember that the channel value of the VARIABLE view, if it exists, has the
  983.   priority... Use the (c)h submenu to make this field the edited field.
  984.  
  985. Other available submenus are:
  986.  
  987. - sc(a)le: toggles between three representations of the vertical note scale
  988. (MIDI numbers from 0 to 127, notes in anglo-saxo notation A, A#, B, C,...
  989. or A, B-, B, C,...).
  990.  
  991. - (d)isp: toggles between three types of display: show whole notes, notes-on
  992.   only or notes-off only. Sometimes useful. Notes-on are shown with a '(',
  993.   notes-off with a ')'. If two or more notes-on or notes-off are overlapping,
  994.   a 'x' is shown.
  995.  
  996. - (t)ag: enables or disables a gadget that makes the cursor reflect the name
  997.   of the note in anglo-saxon notation. If the letter is in upper case, the note
  998.   is just. If the letter is in lower case, the note is raised.
  999.  
  1000. - (p)rog: tool to create automatically a simple note progression. You give
  1001.   starting and ending points in beats/ticks, the number of steps, the MIDI
  1002.   channel, first and last note, first and last velocity, a curve rate and
  1003.   a random range. If the curve rate is positive, the curve is upside the
  1004.   simple linear progression.
  1005.   Can be useful with tuned percussion, as wind chimes... Note that starting and
  1006.   ending points values are set by default to block begin and block end (it
  1007.   is the same for each other tool in the NOTE or EVENT view).
  1008.  
  1009. - e(x)tract: tool to erase a precise range of notes. You give starting
  1010.   and ending point in beats/ticks, note range (upper and lower value) and
  1011.   the channel concerned. Useful if you want to erase very precisely.
  1012.  
  1013.  
  1014. ┌────────────────┐
  1015. │23 - EVENT view:│
  1016. └────────────────┘
  1017.  
  1018. Type 'E' to go to this view.
  1019.  
  1020. This view is used to edit events such as MIDI controlers, benders, program
  1021. changes, monophonic aftertouch and tempo changes. You can edit only one
  1022. event type at a time. The current event type is shown in the EVENT field of
  1023. the secondary status line.
  1024.  
  1025. To focus on a certain type:
  1026. Type 'C' or F11 to select the CONTROLERS view.
  1027. Type 'B' or F12 to select the BENDER view.
  1028. Type 'P' to select the PROGRAM CHANGE view.
  1029. Type 'A' to select the AFTERTOUCH view.
  1030. Type 'T' to select the TEMPO view.
  1031.  
  1032. The horizontal scale is the same as in the NOTE view. The vertical scale
  1033. represents events values. The boundaries are:
  1034.  
  1035. - for controlers 0 to 127: 0..127
  1036. - for benders: -8192..8191
  1037. - for program changes: 0..127
  1038. - for monophonic aftertouch: 0..127
  1039. - for tempo changes: 1..239 bpm
  1040.  
  1041. An event is represented by a black square and events are linked to each other
  1042. by gray lines. If several events coexist on the same vertical row, a 'x' appears
  1043. at the bottom of the row.
  1044.  
  1045. The following keys are used and are sometimes the same as in the NOTE view:
  1046.  
  1047. - LEFT/RIGHT: moves one step left/right.
  1048. - INS: inserts one event at the cursor position.
  1049. - DEL: deletes the current hilighted event.
  1050. - TAB: goto next event.
  1051. - BACKTAB: goto previous event.
  1052. - ^LEFT/^RIGHT: moves one beat left/right.
  1053. - HOME: goto the left edge of screen.
  1054. - END: goto the right edge of screen.
  1055. - ^HOME: goto the beginning of the track.
  1056. - ^END: goto the end of the track.
  1057.  
  1058. - UP/DOWN: moves one step up/down.
  1059. - PGUP/PGDOWN: moves one big step up/down.
  1060.  
  1061. - ^UP/^DOWN: moves one track up/down (according to the track order used in the
  1062.   GLOBAL view).
  1063. - ^PGUP/^PGDOWN: moves five tracks up/down.
  1064.  
  1065. - aF1: sets block begin here.
  1066. - aF2: sets block end here.
  1067.  
  1068. Notice that in EVENT screen, marked block limits are give in beats/ticks. These
  1069. limits are used as default starting and ending points in functions such as
  1070. interpo(l), (p)rog or e(x)tract. In the GLOBAL view, marked block contains only
  1071. full beats (it means you cannot copy half of a beat...).
  1072.  
  1073. For this screen, you have a secondary status line that shows from left to right:
  1074.  
  1075. - the track number and the track name.
  1076.  
  1077. - UNIT/INC: same as in the NOTE view.
  1078.  
  1079. - EVENT: current event type:
  1080.   * c-000 to c-127: MIDI controler 0 to 127.
  1081.   * aftch: monophonic aftertouch.
  1082.   * prog: program changes.
  1083.   * bend: benders or pitch wheel.
  1084.   * tempo: tempo changes. Notice that you can include tempo changes in any
  1085.     track which can be useful but also dangerous to control. Use the GLOBAL
  1086.     view filter to watch only tempi if you are lost...
  1087.   Use the (n)event submenu to make this field the edited field.
  1088.  
  1089. - MODE: When the cursor is on an existing event, this event is hilighted and
  1090.   the MODE field contains 'cur': it means that START, VAL and CH fields contain
  1091.   values describing the current hilighted event. Any change of these fields is
  1092.   affecting the hilighted event. You cannot insert an event on an existing one,
  1093.   but you can delete an highlighted event with the DEL key...
  1094.  
  1095.   If the cursor is not no an existing event, the MODE field contains 'ins': it
  1096.   means that you can insert an event using default values that stand in START,
  1097.   VAL and CH fields. These default values can also be changed and are not
  1098.   affected by the cur/ins MODE switching. In this MODE, you can insert one event
  1099.   with the INS key.
  1100.  
  1101.   In the 'cur' MODE, you can memorized values of the current note in default
  1102.   values of the 'ins' MODE by using the (m)emo submenu.
  1103.  
  1104. - START: starting point of the current edited event or of the event to be
  1105.   inserted. Use the (s)tart submenu to make this field the edited field.
  1106.  
  1107. - VAL: value of the current edited event or of the event to be inserted.
  1108.   Use the (v)alue submenu to make this field the edited field.
  1109.  
  1110. - CH: MIDI channel of the current edited note or of the note to be inserted.
  1111.   remember that the channel value of the VARIABLE view, if it exists, has the
  1112.   priority... Use the (c)han submenu to make this field the edited field.
  1113.  
  1114. Other available submenus are:
  1115.  
  1116. - interpo(l): tool to make a linear interpolation on a subset of events.
  1117.   You give starting and ending points in beats/ticks, the size of the step
  1118.   in ticks. At the end, you only get one event for each step, which is
  1119.   calculated with a linear interpolation using neighbours values.
  1120.   It is useful to interpolate between two events separated by a
  1121.   large gap or, on the contrary, to find a clever way to delete events when
  1122.   they are too numerous. Notice that some steps may finally not contain any
  1123.   event because the process does not allow two successive equal events.
  1124.   Use this especially for benders that often generate more events than needed.
  1125.   Oh yes, a last parameter is a question about if you want to keep large empty
  1126.   gap free of any event: when a large gap of more than 2 steps is encountered,
  1127.   the interpolation is not done. It is useful for events such as benders:
  1128.   benders are often grouped together in some area, with empty gaps beetween:
  1129.   using this option will allow you to disable interpolation within these gaps.
  1130.  
  1131. - (p)rog: tool to create automatically a simple event progression. You give
  1132.   starting and ending points in beats/ticks, the number of steps, the MIDI
  1133.   channel, first and last values, a curve rate and a random range.
  1134.   Can be useful to create smooth volume increasing for example, with a
  1135.   parabolic increasing, or a random variation of the panoramic distribution.
  1136.  
  1137. - e(x)tract: tool to erase a precise range of notes. You give starting
  1138.   and ending point in beats/ticks, note range (upper and lower value) and
  1139.   the channel concerned. Useful if you want to erase very precisely.
  1140.  
  1141. If you forgot the number of major MIDI controllers, here they are. Note that
  1142. some of them may not be recognized by your synth.
  1143.  
  1144. #000-031: continuous controllers 0 to 31 least significant byte.
  1145. #001: modulation wheel.
  1146. #002: breath control.
  1147. #004: foot controller.
  1148. #005: portamento time.
  1149. #006: data entry.
  1150. #007: volume (level).
  1151. #010: pan controle (balance).
  1152. #032-063: continuous controllers 0 to 31 most significant byte.
  1153.  
  1154. #064-095: on/off switches (0:off, 127:off).
  1155. #064: damper pedal (sustain).
  1156. #065: portamento on/off.
  1157. #066: sustenuto on/off.
  1158. #067: soft pedal on/off.
  1159.  
  1160. #096: data entry +1 (v=127).
  1161. #097: data entry -1 (v=127). 
  1162. #098-121: Undefined
  1163.  
  1164. #122-127: Reserved for Channel Mode messages.
  1165. #122: Local Control (v=0="Local Control Off", v=127="Local Control On").
  1166. #123: all notes off (v=0).
  1167. #124: omni mode off, including all notes off (v=0).
  1168. #125: omni mode on, including all notes off (v=0).
  1169. #126: mono mode on, including poly mode off and all notes off
  1170.       (v=M, where M is the number of channels,
  1171.        v=0, the number of channels equals the number of voices in the
  1172.        receiver).
  1173. #127: poly mode on, including mono mode off and all notes off (v=0).
  1174.  
  1175.  
  1176. ┌───────────────┐
  1177. │24 - FILE view:│
  1178. └───────────────┘
  1179.  
  1180. Type 'F' to go to this view.
  1181.  
  1182. The FILE view is used to deal with music files. If you use a file with a ".MID"
  1183. extension, it will be considered as a standard MIDIFILE. Any other extension
  1184. will make it considered as a QSEQ file, but QSEQ files extension are ".QSQ"
  1185. by default.
  1186.  
  1187. A QSEQ file can be a little bigger than standard MIDIFILE (+20%), but it
  1188. contains more informations and it's really quicker to load and save. Here is a
  1189. list of what is saved:
  1190.  
  1191. - version of QSEQ file format.
  1192. - initial tempo and signature.
  1193. - contents of the INFO view.
  1194. - contents of the SYSEX view (names of any linked raw sysex file).
  1195. - jokers positions.
  1196. - for each track:
  1197.   - name of the track.
  1198.   - variables described in the VARIABLE view.
  1199.   - increment of NOTE and EVENT views.
  1200.   - any MIDI events with a 1/192th resolution.
  1201.   - any others events (tempo changes, etc...).
  1202.  
  1203. An example is included in the package. It's a file I found on the Internet,
  1204. called WHATISAY.MID. It's a transcription of a tune from Ray Charles. I loaded
  1205. it originally under MIDIFILE format, added my changes to make it an obvious
  1206. example and save it under QSEQ format and under MIDIFILE format again, to
  1207. allow you to make comparisons. Notice that INFO and SYSEX view information are
  1208. not saved under MIDIFILE format, and that, according to MIDIFILE standard,
  1209. every tempo changes are stored in track 0. In the WHATISAY.QSQ example, you can
  1210. visualize "jokers", the result of the looping feature, tempo changes mixed with
  1211. the drum track, etc...
  1212.  
  1213. Available submenus are:
  1214.  
  1215. - (l)oad: loads a file, forgetting the previous one.
  1216.  
  1217. - (a)ppend: loads a file by adding it to any previously loaded file. It is
  1218.   done by filling available empty tracks... The values of the VARIABLE view
  1219.   are not overwritten. Neither are the initial tempo and the signature.
  1220.  
  1221. - (s)ave: saves a file, with the possibility to change its name if it has
  1222.   already one. You can use F2 at any time to save the current file under its
  1223.   name. By default, QSEQ creates a backup copy of any file to be saved, using
  1224.   a ".BAK" extension. If you don't want this behaviour, you can configure it
  1225.   using the BACKUP token.
  1226.  
  1227. - (d)elete: deletes a file on the disk.
  1228.  
  1229. - (r)ename: renames a file on the disk. Works just as the DOS rename command.
  1230.  
  1231. - (c)learmem: erases the file currently edited, but do not delete it on the
  1232.   disk.
  1233.  
  1234. When you enter any of the four first submenus, it only prompt you for a file
  1235. name. Then you have several possibilities:
  1236.  
  1237. - type the name of the file. If you are performing a "save", the file is saved.
  1238.   The current musicfiles path is used if you don't include a path of your own.
  1239.   Note that this current musicfiles path is set to the content of the MUSICDIR
  1240.   environement variable when you start QSEQ. If you are performing a load,
  1241.   the corresponding file is searched in the current musicfiles path or in the
  1242.   path you specified. If it is found, it is just loaded. If it is not found,
  1243.   read the next case...
  1244.  
  1245. - if you want to see the content of a directory and pick a name in a list of
  1246.   existing files, you can either:
  1247.  
  1248.   * enter nothing: it displays .MID and .QSQ files contained in the current
  1249.     musicfiles directory, and you can pick a file name or even move in the
  1250.     disk tree or on others disks.
  1251.  
  1252.   * enter a DOS name including wildcards '*' or '?'. It displays the content of
  1253.     the given directory if you include a path or the content of the current
  1254.     musicfiles directory, using the given filter.
  1255.  
  1256. See chapter 32 if you want to know how to load files from the DOS command line.
  1257.  
  1258.  
  1259. ┌────────────────┐
  1260. │25 - SYSEX view:│
  1261. └────────────────┘
  1262.  
  1263. Type 'S' to go to this view.
  1264.  
  1265. With this view, you can create a list of sysex files to send thru MIDI OUT.
  1266. This list is saved with the sequence. It contains sysex files names possibly
  1267. including a path. When no path is included, the file is assumed to be in
  1268. the current sysex directory. The current sysex directory is set to the content
  1269. of the SYSEXDIR environement variable when you start QSEQ.
  1270.  
  1271. A sysex file contained one or several sysex dumps. A sysex dump is a subset
  1272. of bytes. The first byte is F0(hex) and the last is F7(hex). All other bytes
  1273. have bit 7 clear. So it is a very simple format. You can use it with other
  1274. programs.
  1275.  
  1276. Available submenus are:
  1277.  
  1278. - (s)end: send the currently selected file thru MIDI OUT.
  1279.  
  1280. - (r)eceive: receive a sysex dump from MIDI IN. First you are prompted for a
  1281.   sysex file name (You can use the same facilities as in the FILE view). Then
  1282.   prepare your MIDI gear to send a sysex dump. Press a key to put QSEQ in
  1283.   waiting mode and send the sysex. It is recorded on the disk and the file
  1284.   is added to the list. If there's already a file with the same name on the
  1285.   disk, QSEQ asks you if you want to overwrite it, and the old file is backup
  1286.   with a ".BAK" extension, if you did not disable this option using the
  1287.   configuration token BACKUP.
  1288.  
  1289. - send(a)ll: send all sysex files from the SYSEX view. You can make the same
  1290.   by typing ^S from any view when the sequencer is not running.
  1291.  
  1292. - (i)nsfile: prompt you for a sysex file name to add to the list.
  1293.  
  1294. - (d)elfile: delete the selected sysex file from the list but not from the disk.
  1295.  
  1296. - re(n)name: change the name of the selection. Does not affect files on the
  1297.   disk.
  1298.  
  1299. - send(p)ause: prompt you for a number of 1/100 of second to wait between each
  1300.   sysex groups that may be contained in a single sysex file. Useful for big
  1301.   sysex dumps that must be sent to slow synth. Am I thinking to my poor
  1302.   Roland U20 ? Maybe... Anyway, this value can also be configured using the
  1303.   SYSEXPAUSE token.
  1304.  
  1305.  
  1306. ┌───────────────┐
  1307. │26 - INFO view:│
  1308. └───────────────┘
  1309.  
  1310. Type 'I' to go to this view.
  1311.  
  1312. In this view, you can type any information about the current sequence.
  1313. The editor is a simple one. It is always in insert mode. Keys that can be
  1314. used are:
  1315.  
  1316. - arrows, PGUP, PGDOWN to move around.
  1317. - DEL: deletes current character.
  1318. - BACKSP: deletes previous character.
  1319. - ^BACKSP: deletes current line:
  1320. - HOME: goto beginning of line.
  1321. - END: goto end of line.
  1322. - ^HOME: goto beginning of text.
  1323. - ENTER: inserts a carriage return and goto next line.
  1324.  
  1325. For example it is useful to enter:
  1326. - the tittle.
  1327. - the author.
  1328. - the date of birth of the composition.
  1329. - electronic instruments used.
  1330. - the partition.
  1331. - any comments (on the analog part of the mixdown, effects used, etc...).
  1332.  
  1333. The ^F1 key can be used to insert a text file in the text, e.g. a template
  1334. file. A template file called "template" is included in the package as an
  1335. example.
  1336.  
  1337. The ^F2 key can be used to insert current date and time in the text.
  1338.  
  1339.  
  1340. ┌───────────────┐
  1341. │27 - LOOK view:│
  1342. └───────────────┘
  1343.  
  1344. Type 'L' to go to this view.
  1345.  
  1346. In this view, QSEQ just have a look at the overall content of the current track
  1347. by counting and displaying the number of events in each MIDI categorie.
  1348. Displayed values are:
  1349.  
  1350. - number of beats.
  1351. - number of tempo changes.
  1352. - number of NOTE ON.
  1353. - number of NOTE OFF.
  1354. - number of program changes.
  1355. - number of benders.
  1356. - number of monophonic aftertouch.
  1357. - number of polyphonic aftertouch.
  1358. - total number of controllers 0-127.
  1359. - precise number of each controller.
  1360.  
  1361. The following keys can be used:
  1362.  
  1363. - ^UP/^DOWN: moves one track up/down (according to the track order used in the
  1364.   GLOBAL view).
  1365. - ^PGUP/^PGDOWN: moves five tracks up/down.
  1366.  
  1367.  
  1368. ┌────────────────────────────┐
  1369. │30 - How to record and play:│
  1370. └────────────────────────────┘
  1371.  
  1372. You start playing back a sequence by pressing SPACE. The playback starts at the
  1373. current beat. If starting at beat 0, initial controllers from the VARIABLE view
  1374. are sent to MIDI OUT. If you start anywhere else, be aware that controllers
  1375. may not be in their logic position because you didn't play the sequence until
  1376. the beginning. To solve this, use the ^F key to determinate and send these
  1377. controllers last logic values (see "Special Keys"). While playing, the
  1378. sequencer status becomes 'P' in the status line.
  1379.  
  1380. While playing, you can start recording by pressing ^R. The record is assumed
  1381. to start at the tick 0 of the current beat of the current track. Remember this,
  1382. because it is important when you are in overwritting recording mode. While
  1383. recording, the sequencer status becomes 'R' in the status line.
  1384.  
  1385. Yes, there are two recording mode: "overwritting" and "appending". You can
  1386. switch from one to another with key aR. The current mode is shown on the
  1387. status line ("Ov" or "Ap").
  1388.  
  1389. In overwritting mode, new material overwrites old one. This is always done
  1390. using full beats. It means that if you start recording while playing at the
  1391. middle of one beat, the material of the whole beat will be lost. Same thing
  1392. for the end of the recording: the whole last beat is lost. See also that I
  1393. speak about beats and not measures...
  1394.  
  1395. In appending mode, new material is just appended to old one, but new notes
  1396. cannot erased old ones at the same position, for safety reasons (in this case,
  1397. these new notes will be lost).
  1398.  
  1399. You can also start recording directly when the sequencer is not running. Just
  1400. press ^R to set the sequencer in recording mode. Press SPACE when you want the
  1401. record to begin. If you are using a non-zero countdown value, the playback
  1402. is beginning before the current point to let you hear previous beats, but the
  1403. record begins only when the current point is reached. This coutdown value is
  1404. set with the aC key; it is a number of beats.
  1405.  
  1406. There is also an interesting feature if you want to insert new material between
  1407. two beats and not anywhere else. It is the punch in/out feature. Use "GLOBAL
  1408. p(u)nch" menu to switch in on and to set the starting and ending beats. Then
  1409. go before the starting beat and press ^R and space to start recording. The
  1410. sequencer will set itself automatically in record mode between the punch-in
  1411. beat (included) and the punch-out beat (excluded). Anywhere else, it will
  1412. stay in playback mode and leave old material untouched.
  1413.  
  1414. Remember that in any case, only one track is recorded: the one that was
  1415. selected when you hit ^R. After begin recording, you can move the cursor
  1416. vertically from one track to another: it won't change the recorded track. This
  1417. allows you to mute tracks while recording or use any other display features
  1418. while recording.
  1419.  
  1420. Notice that in any running mode, when a message is entering QSEQ thru MIDI IN,
  1421. the memory field (upper right corner) blinks. It is a good test to verify that
  1422. your MIDI cables are correctly set. You can also disable this feature using the
  1423. MIDIFLASH configuration token.
  1424.  
  1425. QSEQ can use realtime MIDI messages: when you start playing, a START
  1426. message or a CONTINUE message is sent to MIDI OUT, depending if you are playing
  1427. from beat 0 or from somewhere else. When you stop playing, a STOP message is
  1428. issued to MIDI OUT. These messages can be used by others sequencers or
  1429. rhythm machines. If you want QSEQ to use these messages, you should configure
  1430. it with the REALTIME token or use the aE key.
  1431.  
  1432.  
  1433. ┌──────────────────┐
  1434. │31 - Special keys:│
  1435. └──────────────────┘
  1436.  
  1437. Some features are not accessible thru a menu but thru short-keys:
  1438.  
  1439.  
  1440. Normal keys:
  1441. ────────────
  1442.  
  1443. SPACE: play/stop. When playing from the first beat, initial controllers from
  1444.        the VARIABLE view are sent first and a little pause is made, allowing
  1445.        slow MIDI gear to be ready when the sequence begins.
  1446.  
  1447. F2   : Saves current file, with optional automatic backup to ".BAK".
  1448. F3   : Toggles beetween metronome off / PC SPEAKER metronome / MIDI metronome
  1449.        (see also key "aM").
  1450. F4   : Switches to next unit mode for the counter in the status line.
  1451.        (see also key "aU").
  1452.  
  1453. F6/F5: increases or decreases of one unit any value.
  1454. F8/F7: increases or decreases of a "big step" any value.
  1455.  
  1456. ESC  : go back to GLOBAL view.
  1457. F9   : Switches to VARIABLE view.
  1458. F10  : Switches to NOTE view.
  1459. F11  : Switches to CTRL view.
  1460. F12  : Switches to BENDER view.
  1461.  
  1462.  
  1463. Alt keys:
  1464. ─────────
  1465.  
  1466. aF1  : sets block begin here.
  1467. aF2  : sets block end here.
  1468. aF3  : cuts block.
  1469. aF4  : copies block.
  1470. aF5  : pastes block.
  1471. aF6  : pastes block over.
  1472.  
  1473. aX: to quit, type aX again to confirm.
  1474.  
  1475. aT: If the sequencer is stopped, it is used to change the initial tempo
  1476.     value. If the sequencer is running, use it to enter tempo change mode.
  1477.     If you are recording, tempo changes are also recorded. Use ESC key to
  1478.     exit this mode.
  1479.  
  1480. aR: toggles between both recording modes. The current recording mode is
  1481.     shown by the second flag of the status line: (O)verwrite / (A)ppend.
  1482.  
  1483. aP: toggles punch mode on/off.
  1484.  
  1485. aC: to choose the countdown value: prompts you for a number of beats to
  1486.     playback before any record. Then you can listen for these beats and get
  1487.     the rythm before playing like a maestro.
  1488.  
  1489. aS: to choose the signature. Sets the number of beats per measures, and so
  1490.     the metronome variation. Also useful to set the number of beats per
  1491.     view in the NOTE view or the events views.
  1492.  
  1493. aM: Toggles beetween metronome off / PC SPEAKER metronome / MIDI metronome
  1494.     even while playing or recording. The current mode is shown by a flag in the
  1495.     status line which is respectively (.), (m) or (M). You can choose
  1496.     metronomes' values using the configuration tool.
  1497.  
  1498. aU: to choose the unit of the counter in the status line. You can choose
  1499.     in menus between the following:
  1500.     - (b)eats: beats/ticks.
  1501.       The label of the display is "beat-xx", where xx is either the signature
  1502.       or the zooming number.
  1503.     - (m)eas: measures/subbeats/ticks.
  1504.       The label of the display is "m-xx" where xx is the signature.
  1505.     - (z)oomnum: zooming number based groups of beats/subbeats/ticks.
  1506.       The label of the display is "z-xx" where xx is the zooming number.
  1507.     - (t)ime:
  1508.       approximative time in hours/minutes/seconds/ hundredth of seconds.
  1509.       This value is interpolated using the initial tempo value, so it
  1510.       can be a bit false if you use tempo changes, but it gives a good
  1511.       idea of the approximative timing.
  1512.     - (c)hrono:
  1513.       exact time in hours/minutes/seconds/ hundredth of seconds. This value
  1514.       is exact but is reset to zero at any time you start playing or
  1515.       recording. If you start from the first beat, it gives you the
  1516.       absolute exact timing of you sequence. If you start anywhere in
  1517.       the sequence, it gives you the relative exact timing from the
  1518.       beginning of the playing. To use as a chronometer.
  1519.     For the three first modes, you can also have a total value for the
  1520.     whole sequence.
  1521.  
  1522. a0: toggles midithru feature, i.e. sequencer local control on/off. The current
  1523.     midithru status is shown on the status line ('T' for on, 't' for off).
  1524.  
  1525. aF: sets or defeats flashing of the "mem" field on the status line when a MIDI
  1526.     byte comes in while the sequencer is running. It does not concern sysex
  1527.     bytes or active-sensing bytes (FEh).
  1528.  
  1529. aE: sets or defeats real-time MIDI messages START/STOP/CONTINUE.
  1530.  
  1531. aZ: to choose the number of beats per unit in GLOBAL view. This is also the
  1532.     number of beats per screen in the NOTE and EVENT view.
  1533.  
  1534. aJ: makes jokers visibles or invisibles in the GLOBAL view.
  1535.  
  1536. aL: makes looping points visibles or invisibles in the GLOBAL view.
  1537.  
  1538.  
  1539. Ctrl keys:
  1540. ──────────
  1541.  
  1542. ^INS : insert a joker.
  1543. ^DEL : delete a joker.
  1544. ^F5  : goto previous joker.
  1545. ^F6  : goto next joker.
  1546. ^F7  : translates one step right every jokers at the right of the current point.
  1547. ^F8  : translates one step leftt every jokers at the right of the current point.
  1548.  
  1549. ^R: enters recording mode and wait. Press SPACE to begin recording or ESC
  1550.     to abort before it's too late...
  1551.  
  1552. ^E: step-record mode: when you are in this mode, any key entered thru MIDI
  1553.     IN is used to insert one note in the current track (if you are in NOTE
  1554.     view) and to make a step forward. The size of the step is given by the
  1555.     INC value in the NOTE view. The length of the note is determinated by
  1556.     the default "note length value" in the NOTE view.
  1557.  
  1558. ^P: midi panic: sends all notes off messages, off damper switches, zero
  1559.     modulation controller and zero bender on every MIDI channel.
  1560.  
  1561. ^O: sends alternatively a local control on or off message to your synth, to
  1562.     enable or disable their internal loop via MIDI. The MIDI channel on which
  1563.     this message is sent is given with the LOCALCTRL configuration token.
  1564.  
  1565. ^Q: sends initial controllers from the VARIABLE view thru MIDI OUT.
  1566.  
  1567. ^F: searches for the last value of each controllers/benders/program changes/
  1568.     tempo changes before the current beat and send them thru MIDI OUT. It is
  1569.     useful when you don't play back the whole track from the beginning but from
  1570.     a random location. This function is very acurate and it even takes care
  1571.     about loops.
  1572.  
  1573. ^S: sends all sysex from the SYSEX view to MIDI OUT.
  1574.  
  1575. ^C: makes notes continuity between the current beat and the previous one,
  1576.     for notes that ends at the tick 191 and start back at the tick 0.
  1577.     Useful when you use block cut/paste/insert/etc.. that often cuts notes.
  1578.  
  1579. ^L: shortcut to set the looping beat of the current track to the current
  1580.     beat (also available as a parameter in the VARIABLE view).
  1581.  
  1582. ^Z: toggles between signature or zooming number based global view.
  1583.  
  1584. ^B: goto beat.
  1585.  
  1586. ^T: goto track.
  1587.  
  1588. ^J: goto joker.
  1589.  
  1590. ^K: frees the buffer.
  1591.  
  1592. ^V: refreshes any view, if you have any doubt about what QSEQ displays.
  1593.  
  1594.  
  1595. ┌──────────────────────────┐
  1596. │32 - Command-line options:│
  1597. └──────────────────────────┘
  1598.  
  1599. When you run QSEQ from the MS-DOS shell, you can use the following options:
  1600.  
  1601. qsq [-h] [-x] [file1] [file2] ...
  1602.  
  1603. -h  : display this little help.
  1604. -x  : don't use the SB card, just simulate: useful if you don't have a SB
  1605.       card but still want to test QSEQ interface. In this case, the PC
  1606.       SPEAKER metronome is automatically switched on, so that you can at least
  1607.       hear the beat.
  1608.  
  1609. File "file1" is loaded normally and next files ("file2", etc...) are just
  1610. appended to the first one.
  1611.  
  1612.  
  1613. ┌─────────────────────────────────┐
  1614. │33 - Configuration tool and file:│
  1615. └─────────────────────────────────┘
  1616.  
  1617. The program QSQCONF.EXE can be used to configure QSEQ. Infact QSQCONF.EXE
  1618. reads a configuration file and modify QSQ.EXE file itself. Before any
  1619. modification it saves the initial QSQ.EXE file under QSQ&.EXE file for
  1620. further recovering. You can have several config files. QSQCONF.EXE must
  1621. reside and be launched in the same directory where QSQ.EXE resides.
  1622.  
  1623. QSQCONF is secure but I recommand that you keep the original version of QSEQ
  1624. on a floppy in a safe place.
  1625.  
  1626. A configuration file contains one configuration command per line. Lines
  1627. beginning with a white or a # or empty lines are ignored. Other lines are
  1628. always beginning with a token-word followed by parameters separated by white
  1629. characters. This configuration is sometimes only setting default values that
  1630. can be modified while QSEQ is running. Here is the token list (default values
  1631. are marked by an *):
  1632.  
  1633. GLOBAL settings:
  1634. ----------------
  1635. BLASTERINT iii
  1636.   sets soundblaster interrupt to iii (2/5/7(*)/10).
  1637. BLASTERADD aaa
  1638.   sets soundblaster address to aaa in hexadecimal (220(*)/240).
  1639.  
  1640. MIDITHRU n
  1641.   n=1: force midi thru on. (*)
  1642.   n=0: force midi thru off.
  1643.  
  1644. LOCALCTRL ii cc
  1645.   ii=0: send no local control at the beginning of the session.
  1646.   ii=1: send local control off at the beginning of the session (*).
  1647.   ii=2: send local control on at the beginning of the session.
  1648.   cc: midi channel where to send the message (1-16,*=15)
  1649.  
  1650. REALTIME n
  1651.   n=1: always send START/STOP/CONTINUE realtime messages.
  1652.   n=0: never send START/STOP/CONTINUE realtime messages (*).
  1653.  
  1654. MIDIFLASH n
  1655.   n=1: make memory field blink each time a MIDI byte comes in (*).
  1656.   n=0: do not make memory field blink each time a MIDI byte comes in.
  1657.  
  1658. BACKUP n
  1659.   n=1: automatic backup of music and sysex files on (*).
  1660.   n=0: automatic backup of music and sysex files off.
  1661.  
  1662. SYSEXPAUSE sss
  1663.   wait sss 1/100sec between each sysex block when sending sysex files (*=10000).
  1664.  
  1665. TEMPO ttt
  1666.   set default tempo to ttt bpm (*=100).
  1667.  
  1668. METRONOME status type
  1669.   set default metronome status and type.
  1670.   status=1: metronome on.
  1671.   status=0: metronome off (*).
  1672.   type=1: midi beep.
  1673.   type=0: PC speaker beep (*).
  1674.  
  1675. METROBEEP freq1 freq2
  1676.   freq1: frequency of the beep on the first beat in Herz (*=9000).
  1677.   freq2: frequency of the beep on others beats in Herz (*=1000).
  1678.  
  1679. METROMIDI cc1 nn1 vv1 cc2 nn2 vv2
  1680.   note on the first beat:
  1681.     cc1: channel (*=16).
  1682.     nn1: note (*=37).
  1683.     vv1: velocity (*=127).
  1684.   note on others beats:
  1685.     cc2: channel (*=16).
  1686.     nn2: note (*=37).
  1687.     vv2: velocity (*=80).
  1688.  
  1689. COLORS settings:
  1690. ----------------
  1691.  
  1692. Every color token is used like this:
  1693. COLOR_TOKEN forg backg blink
  1694. ...where forg is the foreground attribute, backg the background attribute
  1695. and blink the blink status. The following values are allowed:
  1696.  
  1697.  forg: 0: black      8: darkgrey    backg: 0: black   blink: 0: off
  1698.        1: blue       9: lightblue          1: blue           1: on
  1699.        2: green     10: lightgreen         2: green
  1700.        3: cyan      11: lightcyan          3: cyan
  1701.        4: red       12: lightred           4: red
  1702.        5: magenta   13: lightmagenta       5: magenta
  1703.        6: orange    14: lightyellow        6: yellow
  1704.        7: lightgrey 15: white              7: white
  1705.  
  1706. Following color token exists:
  1707.  
  1708. # GENERAL COLOR:
  1709. A_GEN
  1710.  
  1711. # STATUS LINE:
  1712. # file field:
  1713. A_FILE
  1714. # time field:
  1715. A_TIME
  1716. #tempo field:
  1717. A_TEMPO
  1718. # sequencer mode field: recording:
  1719. A_SSRECORD
  1720. # sequencer mode field: playing:
  1721. A_SSPLAY
  1722. # sequencer mode field: editing:
  1723. A_SSEDIT
  1724. # punch-in mode/metronome flag/midithru flag fields:
  1725. A_STATUS
  1726. # memory field (normal/hilight when receiving midi):
  1727. A_MEM
  1728. A_MEMHI
  1729.  
  1730. # hilighted current parameter
  1731. A_PARAMHI
  1732.  
  1733. # CURSOR in NOTE view:
  1734. # when the cursor is not on a note:
  1735. A_CURSOFF
  1736. # when the cursor is on a note:
  1737. A_CURSON
  1738. # note's color when under the cursor:
  1739. A_NOTEHI
  1740.  
  1741. # Difference of color to mark octaves, or different steps in the background
  1742. # of NOTE/EVENT/GLOBAL view.
  1743. A_STEP
  1744.  
  1745. # Color of the cursor when prompting for a string/number/character.
  1746. A_ASK
  1747.  
  1748. # Color of the first letter of a menu item: unselected:
  1749. A_MENUHI
  1750. # Color of the first letter of a menu item: selected:
  1751. A_MENUHISEL
  1752.  
  1753. # GLOBAL view
  1754. # color of first loop point, end of the track, archived or muted flags:
  1755. A_GSPEC
  1756. # color of next loop points:
  1757. A_GLOOP
  1758. # color of the selected area and begin/end points:
  1759. A_GSEL
  1760. # color of the recordable area when recording:
  1761. A_GREC
  1762. # color of punch in/out points:
  1763. A_GPUNCH
  1764. # color of jokers:
  1765. A_JOKER
  1766.  
  1767. # MESSAGES:
  1768. # color of an information message:
  1769. A_MSINFO
  1770. # color of an error message:
  1771. A_MSERR
  1772. # color of an "I'm working" message:
  1773. A_MSWORK
  1774.  
  1775.  
  1776. ┌──────────────────────────────────────────────────┐
  1777. │40 - Releases, sub-versions, and atomic changes...│
  1778. └──────────────────────────────────────────────────┘
  1779.  
  1780. Here are the different historical versions of QSEQ. Between each
  1781. release, a list of remarks shows what was the modifications for
  1782. one version to another. Some remarks are obviously reserved to my
  1783. personal understanding. Some bugs or illogic behaviours was
  1784. discovered by QSEQ's users. I also included some of QSEQ's users
  1785. suggestions. Thanks to all of them.
  1786.  
  1787. For each release, you can read the date of the release and the size
  1788. of the QSQ.EXE demo file in bytes.
  1789.  
  1790.   ------------------
  1791.  
  1792.   - I spent 6 monthes writting the initial program in my spare time.
  1793.  
  1794. -> version 1.0 (01/01/1994, 175254 bytes)
  1795.  
  1796.   This was the very first release, to test the market...
  1797.   It was a success in my opinion, because a lot of person tested this
  1798.   demo version seriously and reported problems.
  1799.  
  1800.   ------------------
  1801.  
  1802.   - accepts NOTEON with nul velocity as NOTEOFF when coming from MIDI IN.
  1803.     Some synths like YAMAHAs use this convention if they don't use
  1804.     off-velocity.
  1805.   - changes in the look, menus and short-keys.
  1806.   - tool to smooth continuous MIDI events variations and to filter out
  1807.     useless events by linear interpolation.
  1808.   - tool to create MIDI events by linear or curved progression.
  1809.  
  1810. -> version 1.0b (03/02/1994)
  1811.  
  1812.   ------------------
  1813.  
  1814.   - implementation of jokers, to hilight the sequence's construction.
  1815.   - portable change in the QSEQ file format to support jokers.
  1816.   - humanize tool.
  1817.   - split-note tool.
  1818.   - split-channel tool.
  1819.   - basic improvements in the MIDI kernel.
  1820.   - correction of the MIDI IN bug after a SYSEX receive.
  1821.  
  1822. -> version 1.0c (15/02/1994, 179318 bytes)
  1823.  
  1824.   ------------------
  1825.  
  1826.   - correction of a bug in the display of GLOBAL view (end of track).
  1827.   - correction of the track name error in the split-note tool.
  1828.   - correction of the starting-playing-beat error in the GLOBAL view.
  1829.   - correction of an illogic thing in the mark track command.
  1830.   - correction of the make_note_on/make_note_off error (see what it is ?...).
  1831.   - separation of mute between IN and OUT (understand ?...): it means that
  1832.     while playing, if you mute a track, notes you are playing live are not
  1833.     cut...
  1834.   - correction of older notes-on at the beginning of a record.
  1835.   - send initial controlers even for empty tracks.
  1836.   - extension and speed gain in the split-note tool.
  1837.   - speed gain in the split-channel tool.
  1838.   - extension of the change-velocity tool.
  1839.   - correction of a bug when accepting multiple NOTEON messages with nul
  1840.     velocity as NOTEOFF messages (especially on YAMAHA synths).
  1841.  
  1842. -> version 1.0d (01/03/1994, 181878 bytes)
  1843.  
  1844.   ------------------
  1845.  
  1846.   - correction of a problem when loading some MIDIFILEs (some MIDIFILE contains
  1847.     an ending message with a very weird time stamp...).
  1848.   - improvment of the SB card detection at the beginning of the program.
  1849.  
  1850. -> version 1.0e (01/04/1994, 182006 bytes)
  1851.  
  1852.   ------------------
  1853.  
  1854.   - implementation of active-sensing recognition: any FEh byte is simply
  1855.     ignored. Active-sensing is used on some synths (but alas, for some QSEQ
  1856.     users, not mine) to check out MIDI connexions.
  1857.  
  1858. -> version 1.0f (18/04/1994, 182038 bytes)
  1859.  
  1860.   ------------------
  1861.  
  1862.   - correction of a (last?) bug in the humanize tool.
  1863.   - you can press on 'y' (and also on space bar) to keep a recorded track.
  1864.   - use of realtime MIDI messages START/CONTINUE/STOP.
  1865.   - new command-line options.
  1866.   - little bug when changing initial tempo after tempo changes.
  1867.   - one increment per track in NOTE and EVENT views, saved in QSEQ files.
  1868.   - easy and automatic manipulation of QSEQ files versions.
  1869.   - correction of a subtile random lack of screen refresh.
  1870.   - new tool to change MIDI event values.
  1871.   - introduction of the QSEQCMD variable, more command-line options and
  1872.     no more OPTION view.
  1873.   - introduction of a "jokers" submenu in the GLOBAL view.
  1874.  
  1875. -> version 1.1 (18/05/1994, 184502 bytes)
  1876.  
  1877.   I decided to go from 1.0x to 1.1, because it seems that QSEQ is now stable.
  1878.   I can now go on thinking about very new improvements... People who already
  1879.   have a licence for version 1.0x can get a free upgrade.
  1880.  
  1881.   ------------------
  1882.  
  1883.   - improvements in progression tools: addition of a random range.
  1884.   - improvements in the way simple MIDI messages are sent.
  1885.   - local control on/off implementation (command-line and short-key).
  1886.   - modification of the licence number encrypted in QSQ.EXE (one is crypted
  1887.     and the other clear for easily readable information purpose). Modification
  1888.     of the licencing software.
  1889.  
  1890. -> version 1.1b (02/06/1994, 185222 bytes)
  1891.  
  1892.   - improvements in the NOTE view, concerning page centering when the sequencer
  1893.     is running.
  1894.   - correction of a little MIDI problem when changing track while playing when
  1895.     the sequencer is stopped.
  1896.   - diminution of the size of the QSQ.EXE file (minus 15Kb): no more using
  1897.     floating point operations in kernel module for frequency operations.
  1898.   - bigger MIDI IN buffer (from 400 to 500 bytes) to fight rapid synths,
  1899.     especially while big quick sysex dumps on slow disk drives!
  1900.   - improvements in EVENT/progression and NOTE/progression implementation.
  1901.   - correction of a bug for looping point change when inserting/deleting a
  1902.     buffer.
  1903.   - correction of a problem with centering (* key) in NOTE view.
  1904.   - correction of a problem: display of the previous measure on fast
  1905.     computers when starting playing in NOTE view.
  1906.   - correction of a display lack: in NOTE view, when there are only notes
  1907.     than don't start and end in the view, the centerization is not done...
  1908.   - insertion of zoom size in QSEQ files. Files version 8.
  1909.   - correction of a rare refresh view problem in NOTE and EVENT view,
  1910.     due to a interruption-made update of beat and sbeat. (seems to be corrected)
  1911.   - improvement in the internal filter management.
  1912.   - change of the default filter value.
  1913.   - addition of the rename feature in FILE view.
  1914.   - customization of the title when promting for a file name.
  1915.   - global reduction of the size of the program.
  1916.   - more precision in the "keep PC internal horloge safe" algo.
  1917.   - the STATISTIC view by ^S becomes a full-featured LOOK view.
  1918.   - ^A for sending all sysex becomes ^S. More logical.
  1919.   - show the blinking text cursor while waiting for a number, string or char.
  1920.   - !!!!!! configuration tool and file for custom colors (and then suppression
  1921.     of the numerous online options... so please update you config.).
  1922.   - correction of a problem for joker/previous when after any joker.
  1923.   - correction of a problem while loading file on start (have to forget
  1924.     the first argv).
  1925.  
  1926. -> version 1.1c (09/02/1995, 172006 bytes)
  1927.  
  1928.   ------------------
  1929.  
  1930. ┌────────────────┐
  1931. │41 - Conclusion:│
  1932. └────────────────┘
  1933.  
  1934. So here is the whole thing. I hope you find QSEQ interesting enough to use
  1935. it for your musical work. Remember: 1) if you don't like Windows, 2) if you do
  1936. like quick and easy to use software, 3) if you look like an elephant - I mean
  1937. if you don't like mice but shortkeys and all this kind of stuff - , 4) if you
  1938. don't want to spend a lot of money buying a big sofware and the PC-PENTIUM-90MHz
  1939. it needs, 5) if you don't hate french people even if they eat frogs legs - by
  1940. the way, it's good, it tastes like a very delicate chicken - , 6) if you were
  1941. very upset when you discovered that the demo version didn't save anything,...
  1942.  
  1943. ... one solution: buy me, you won't regret it.
  1944.  
  1945.  
  1946. ┌───────────────┐
  1947. │42 - "Cul Sec":│
  1948. └───────────────┘
  1949.  
  1950. Just a short note about the name of this program: "QSEQ". You don't know me,
  1951. so maybe I should also explain my skewed sense of humor for those non-french-
  1952. people out there...
  1953.  
  1954. "QSEQ" (or Quick Sequencer), can be pronounced "Koo Seck" in french. It's a
  1955. (sort-of) "play-on-words" which might well "tickle the funny-bone" of anybody
  1956. who knows a few slang words from french,... because, "Koo Seck", sounds like:
  1957. "Cul Sec", which in french, means, "Bottoms Up!". So, go out and buy yourself
  1958. a nice bottle (red wine) like a "Chateau-Neuf-du-Pape"... then,...
  1959.  
  1960. Raise your glass, and shout: "Koo Seck" - in the company of one of your most
  1961. musical friends! Bottoms up!
  1962.  
  1963. P.S. Thanks to the "Keyboard Cowboy" (my american beta tester, he too lives in
  1964.      France - lucky guy, eh?) for helping me to explain this valuable bit of
  1965.      silliness for all you english speakers out there.
  1966.  
  1967. ┌───────────────────────┐
  1968. │50 - That's all folks !│
  1969. └───────────────────────┘
  1970.